package com.powergame.model;

/**
 * TypeSecteur.java
 *
 * Modélise les spécificité d'un secteur que l'on peut trouver sur le plateau
 *
 * @author ToF
 */
public class TypeSecteur {
    
    // Les constantes
    public static final TypeSecteur SECTEUR_TERRE = new TypeSecteur(1, "TERRE");
    public static final TypeSecteur SECTEUR_MER = new TypeSecteur(2, "MER");
    public static final TypeSecteur SECTEUR_ILE = new TypeSecteur(3, "ILE");
    public static final TypeSecteur SECTEUR_PLAGE = new TypeSecteur(4, "PLAGE");
    public static final TypeSecteur SECTEUR_QG = new TypeSecteur(5, "QG");
    public static final TypeSecteur SECTEUR_RESERVE = new TypeSecteur(6, "RESERVE");
    
    /** Identifiant unique */
    private int id = 0;
    
    /** LIbellé pour les affichages ou debug */
    private String libelle = null;
    
    public TypeSecteur(int id, String libelle){
        this.id = id;
        this.libelle = libelle;
    }
    
    /**
     * Recherche le type de secteur en fonction d'une chaine de caractère
     * 
     * @param str chaine contenant le libelle du type
     * 
     * @return le type trouvé
     */
    public static TypeSecteur parseTypeSecteur(String str){
        if(str.toUpperCase().equals("TERRE")){
            return SECTEUR_TERRE;
        }else if(str.toUpperCase().equals("MER")){
            return SECTEUR_MER;
        }else if(str.toUpperCase().equals("ILE")){
            return SECTEUR_ILE;
        }else if(str.toUpperCase().equals("PLAGE")){
            return SECTEUR_PLAGE;
        }else if(str.toUpperCase().equals("QG")){
            return SECTEUR_QG;
        }else if(str.toUpperCase().equals("RESERVE")){
            return SECTEUR_RESERVE;
        }else{
            return null;
        }
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getLibelle() {
        return libelle;
    }

    public void setLibelle(String libelle) {
        this.libelle = libelle;
    }
}
